package com.smb.common.vo;

import com.smb.common.type.RType;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class R {
    /**状态码 */
    private Integer code;
    /**状态码说明信息*/
    private String msg;
    /**结果内容*/
    private Object data;

    /**
     * 操作成功
     * @param msg 内容
     * @param data 结果
     * @return */
    public static R ok(String msg,Object data){
        return new R(RType.成功.getCode(),msg,data);
    }
    /**
     * 操作成功
     * @param data 结果
     * @return */
    public static R ok(Object data){
        return ok("操作成功",data);
    }
    /**
     * 操作成功
     * @return */
    public static R ok(){
        return ok(null);
    }
    /**
     * 操作失败
     * @param data 结果
     * @return */
    public static R fail(Object data){
        return new R(RType.失败.getCode(), "操作失败！",data);
    }
    /**
     * 操作失败
     * @return */
    public static R fail(){
        return fail(null);
    }
}
